#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time    : 2023/9/5 1:31
# @Author  : BadMan
# @FileName: Bs4_Study.py
import requests
from bs4 import BeautifulSoup

def parser_Page(url):
    try:
        re = requests.get(url)
    except:
        print("获取失败")
if __name__ == '__main__':
    fp = open('./test.html','r',encoding='utf-8')
    soup = BeautifulSoup(fp,'lxml')
    # print(soup)
    print(soup.a)  # 打印 a 标签,返回的是 html中第一出现的 a 标签
    print(soup.div)  # 打印 div 标签，返回的是 html 中第一次出现的 div标签

    #  soup.find('tagName') == soup.tagName
    print(soup.find('a'))
    # 属性定位法
    # 定义到 class = song ，所对应的 div 标签信息
    print(soup.find('div',class_='song'))
    # 找到所有的 a 标签
    print(soup.findAll('a'))
    # select('某种选择器') id，class，标签。。。选择器
    # 返回一个列表
    print(soup.select('.tang'))

    # 获取 class = tang 的 div 标签下的 a 标签的第一个
    # > 表示一个层级
    # 空格 表示多个层级
    print(soup.select('tang > ul a')[0])
    print(soup.select('.tang > ul > li > a')[0])

    # 获取标签文本信息 两个属性一个方法
    # soup.a.text  soup.a.string soup.a.get_text()
    """
        区别 
            text/get_text() 可以获取到当前标签所有的文本内容
            string 只可以获取该标签下面的直系的文本内容
    """
    # 获取标签中的属性值
    """
        soup.a['href']
        
    """